package com.abl.service.system;

import com.abl.common.mybatis.model.Dnt;
import com.abl.domain.model.Param;
import com.abl.service.BaseService;
import com.alibaba.fastjson2.JSONObject;

import java.util.List;

/**
 * 角色表服务
 */
public interface SysRoleService extends BaseService {
    /**
     * 新增
     */
    boolean add(Param<JSONObject> param);
//
//    /**
//     * 根据已有角色复制新增
//     *
//     * @return
//     */
//    boolean copyAndAdd(Param<JSONObject> param);

    /**
     * 删除
     *
     * @return
     */
    boolean del(Param<JSONObject> param);

    /**
     * 修改
     */
    boolean edit(Param<JSONObject> param);

    /**
     * 编辑权限
     */
    boolean editApi(Param<JSONObject> param);

    /**
     * 查询详情
     */
    Dnt info(Param<JSONObject> param);

    /**
     * 查询集合
     */
    List<Dnt> list(Param<JSONObject> param);

    /**
     * 分页查询
     */
    List<Dnt> searchInput(Param<JSONObject> param);

    //角色资源
//    List<Dnt> roleRes(Object roleId);

    /**
     * 全部资源和角色具备的资源
     */
    Dnt roleRes(Param<JSONObject> param);

    /**
     * 全部菜单和角色具备的菜单
     */
    Dnt roleMenu(Param<JSONObject> param);

    boolean editRoleApi(Param<JSONObject> param);

//    long editRoleMenu(Param<JSONObject> param);
//
//    /**
//     * 角色对应全部功能
//     */
//    Dnt roleMenuFun(Param<JSONObject> param);
//
//    boolean editRoleMenuFun(Param<JSONObject> param);
}
